package com.gbiac.modules.monitor.model.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;

import java.util.List;

/**
 * AI摄像头开关DTO
 */
@Data
public class AiDeviceGetTaskCodeResponseDTO {


    @JSONField(name="count")
    private Integer count;
    @JSONField(name="success")
    private Boolean success;
    @JSONField(name="data")
    private List<DataDTO> data;

    @Data
    public static class DataDTO {
        @JSONField(name = "id")
        private Integer id;
        @JSONField(name = "camera")
        private CameraDTO camera;
        @JSONField(name = "ability")
        private AbilityDTO ability;
        @JSONField(name = "code")
        private String code;
        @JSONField(name = "camera_code")
        private String cameraCode;
        @JSONField(name = "status")
        private Integer status;
        @JSONField(name = "heartbeat_status")
        private String heartbeatStatus;

        @Data
        public static class CameraDTO {
            @JSONField(name = "id")
            private Integer id;
            @JSONField(name = "code")
            private String code;
            @JSONField(name = "name")
            private String name;
            @JSONField(name = "url")
            private String url;
            @JSONField(name = "position")
            private String position;
        }

        @Data
        public static class AbilityDTO {
            @JSONField(name="id")
            private Integer id;
            @JSONField(name="name")
            private String name;
            @JSONField(name="version")
            private String version;
            @JSONField(name="desc")
            private String desc;
        }
    }
}
